﻿using AutoMapper;
using Enferno.Public.Web.Mappers;
using Enferno.Public.Web.Mappers.BasketProfiles;
using Enferno.Public.Web.Mappers.PromotionProfiles;

namespace Enferno.Public.Web.Components.Server.Mappers
{
    public class ComponentsProfile : Profile
    {
        protected override void Configure()
        {
            Mapper.AddProfile<WebProfile>();

            Mapper.AddProfile<AddressModelToAddressViewModelProfile>();
            Mapper.AddProfile<BasketItemModelToBasketItemViewModelProfile>();
            Mapper.AddProfile<BasketItemViewModelToBasketItemModelProfile>();
            Mapper.AddProfile<BasketModelToBasketViewModelProfile>();
            Mapper.AddProfile<BasketViewModelToBasketModelProfile>();
            Mapper.AddProfile<CheckoutModelToCheckoutViewModelProfile>();
            Mapper.AddProfile<CompanyModelToCompanyViewModelProfile>();
            Mapper.AddProfile<CustomerModelToCustomerViewModelProfile>();
            Mapper.AddProfile<DeliveryMethodModelToDeliveryMethodViewModelProfile>();
            Mapper.AddProfile<PaymentMethodModelToPaymentMethodViewModelProfile>();
            Mapper.AddProfile<PaymentServiceModelToPaymentServiceViewModelProfile>();
            Mapper.AddProfile<PaymentResponseProfile>();

            //Mapper.Configuration.AddProfile<BasketToBasketModelProfile>();
            //Mapper.Configuration.AddProfile<BasketItemModelToBasketItemProfile>();

            //Mapper.Configuration.AddProfile<BasketModelToBasketProfile>();
            //Mapper.Configuration.AddProfile<BasketItemToBasketItemModelProfile>();

            //Mapper.Configuration.AddProfile<BasketModelToBasketViewModelProfile>();
            //Mapper.Configuration.AddProfile<BasketItemModelToBasketItemViewModelProfile>();

            //Mapper.Configuration.AddProfile<BasketViewModelToBasketModelProfile>();
            //Mapper.Configuration.AddProfile<BasketItemViewModelToBasketItemModelProfile>();

            //Mapper.Configuration.AddProfile<PromotionProfile>();
        }
    }
}
